home *** CD-ROM | disk | FTP | other *** search
- package mx.styles
- {
- import flash.display.DisplayObject;
- import mx.core.UIComponent;
- import mx.core.UITextField;
- import mx.core.mx_internal;
-
- use namespace mx_internal;
-
- public class StyleProtoChain
- {
- mx_internal static const VERSION:String = "2.0.1.0";
-
- public function StyleProtoChain()
- {
- super();
- }
-
- public static function initProtoChainForUIComponentStyleName(param1:IStyleClient) : void
- {
- var _loc2_:IStyleClient = null;
- var _loc3_:Object = null;
- var _loc4_:Object = null;
- var _loc5_:Array = null;
- var _loc6_:int = 0;
- var _loc7_:int = 0;
- var _loc8_:CSSStyleDeclaration = null;
- _loc2_ = IStyleClient(param1.styleName);
- _loc3_ = _loc2_.nonInheritingStyles;
- if(!_loc3_ || _loc3_ == UIComponent.mx_internal::STYLE_UNINITIALIZED)
- {
- _loc3_ = StyleManager.mx_internal::stylesRoot;
- if(_loc3_.effects)
- {
- param1.registerEffects(_loc3_.effects);
- }
- }
- _loc4_ = _loc2_.inheritingStyles;
- if(!_loc4_ || _loc4_ == UIComponent.mx_internal::STYLE_UNINITIALIZED)
- {
- _loc4_ = StyleManager.mx_internal::stylesRoot;
- }
- _loc5_ = param1.getClassStyleDeclarations();
- _loc6_ = int(_loc5_.length);
- _loc7_ = 0;
- while(_loc7_ < _loc6_)
- {
- _loc8_ = _loc5_[_loc7_];
- _loc4_ = _loc8_.mx_internal::addStyleToProtoChain(_loc4_,DisplayObject(param1));
- _loc4_ = addProperties(_loc4_,_loc2_,true);
- _loc3_ = _loc8_.mx_internal::addStyleToProtoChain(_loc3_,DisplayObject(param1));
- _loc3_ = addProperties(_loc3_,_loc2_,false);
- if(_loc8_.mx_internal::effects)
- {
- param1.registerEffects(_loc8_.mx_internal::effects);
- }
- _loc7_++;
- }
- param1.inheritingStyles = !!param1.styleDeclaration ? param1.styleDeclaration.mx_internal::addStyleToProtoChain(_loc4_,DisplayObject(param1)) : _loc4_;
- param1.nonInheritingStyles = !!param1.styleDeclaration ? param1.styleDeclaration.mx_internal::addStyleToProtoChain(_loc3_,DisplayObject(param1)) : _loc3_;
- }
-
- private static function addProperties(param1:Object, param2:IStyleClient, param3:Boolean) : Object
- {
- var _loc4_:Array = null;
- var _loc5_:int = 0;
- var _loc6_:int = 0;
- var _loc7_:Object = null;
- var _loc8_:CSSStyleDeclaration = null;
- var _loc9_:CSSStyleDeclaration = null;
- _loc4_ = param2.getClassStyleDeclarations();
- _loc5_ = int(_loc4_.length);
- _loc6_ = 0;
- while(_loc6_ < _loc5_)
- {
- _loc8_ = _loc4_[_loc6_];
- param1 = _loc8_.mx_internal::addStyleToProtoChain(param1,DisplayObject(param2));
- if(_loc8_.mx_internal::effects)
- {
- param2.registerEffects(_loc8_.mx_internal::effects);
- }
- _loc6_++;
- }
- _loc7_ = param2.styleName;
- if(_loc7_)
- {
- if(typeof _loc7_ == "object")
- {
- if(_loc7_ is CSSStyleDeclaration)
- {
- _loc9_ = CSSStyleDeclaration(_loc7_);
- }
- else
- {
- param1 = addProperties(param1,IStyleClient(_loc7_),param3);
- }
- }
- else
- {
- _loc9_ = StyleManager.getStyleDeclaration("." + _loc7_);
- }
- if(_loc9_)
- {
- param1 = _loc9_.mx_internal::addStyleToProtoChain(param1,DisplayObject(param2));
- if(_loc9_.mx_internal::effects)
- {
- param2.registerEffects(_loc9_.mx_internal::effects);
- }
- }
- }
- if(param2.styleDeclaration)
- {
- param1 = param2.styleDeclaration.mx_internal::addStyleToProtoChain(param1,DisplayObject(param2));
- }
- return param1;
- }
-
- public static function initTextField(param1:UITextField) : void
- {
- var _loc2_:Object = null;
- var _loc3_:CSSStyleDeclaration = null;
- var _loc4_:Object = null;
- var _loc5_:Object = null;
- _loc2_ = param1.styleName;
- if(_loc2_)
- {
- if(typeof _loc2_ == "object")
- {
- if(!(_loc2_ is CSSStyleDeclaration))
- {
- param1.inheritingStyles = IStyleClient(_loc2_).inheritingStyles;
- param1.nonInheritingStyles = IStyleClient(_loc2_).nonInheritingStyles;
- return;
- }
- _loc3_ = CSSStyleDeclaration(_loc2_);
- }
- else
- {
- _loc3_ = StyleManager.getStyleDeclaration("." + _loc2_);
- }
- }
- _loc4_ = IStyleClient(param1.parent).inheritingStyles;
- _loc5_ = StyleManager.mx_internal::stylesRoot;
- if(!_loc4_)
- {
- _loc4_ = StyleManager.mx_internal::stylesRoot;
- }
- if(_loc3_)
- {
- _loc4_ = _loc3_.mx_internal::addStyleToProtoChain(_loc4_,param1);
- _loc5_ = _loc3_.mx_internal::addStyleToProtoChain(_loc5_,param1);
- }
- param1.inheritingStyles = _loc4_;
- param1.nonInheritingStyles = _loc5_;
- }
- }
- }
-
-